import java.util.ArrayList;
import java.util.EnumSet;
import java.util.List;
import java.util.Stack;

import Common.Direction;
import Common.IntEnumDirection;
import Model.Cell;
import Model.Maze;


public class Run {
	public static void main(String[] args) {
		System.out.println("Labyrinth start");
		
		
		IntEnumDirection direction = new IntEnumDirection();
		direction.SetBottom();
		direction.SetTop();
		direction.UnsetBottom();
		direction.toggleDirection(IntEnumDirection.DIRECTION_BOTTOM);
		
		Cell[][] args2 = new Cell[3][2];
		System.out.println(args2[0].length);
		System.out.println(args2.length);
		
		Stack<Cell> CellStack = new Stack<Cell>();
		System.out.println(CellStack.capacity());
		CellStack.ensureCapacity(20);
		System.out.println(CellStack.capacity());
		
		EnumSet<Direction> wallDirection = EnumSet.allOf(Direction.class);
		
		IntEnumDirection ieDirection = new IntEnumDirection();
		ieDirection.m_CurrentDirectionSet = IntEnumDirection.DIRECTION_ALL;
		
		if (0 != (ieDirection.m_CurrentDirectionSet & IntEnumDirection.DIRECTION_TOP))
		{
			ieDirection.m_CurrentDirectionSet &= ~IntEnumDirection.DIRECTION_TOP;
		}

		System.out.println('\n');
		System.out.println('\n');
		
		Maze maze = new Maze(20, 8);
		maze.GenerateMaze();
		maze.PrintMaze();
		// Create Maze
		
		// Solve Maze
	}
}
